<?php
/**
 * Created by PhpStorm.
 * User: admin
 * Date: 2017/12/31
 * Time: 12:03
 */

namespace app\sample\controller;

use think\Request;

class Test
{
    /** 获取路由参数 ********************************/
    /**
     * hello方法中做变量自动对应
     * get 自动获取
     * http://z.cn/hello/123?name=yibu&age=18
     *
     * post body 中传参
     */
    /*public function hello($id, $name, $age)
    {
        echo $id;
        echo '|';
        echo $name;
        echo '|';
        echo $age;
    }*/

    /**
     * 使用 think\Request 对象获取参数变量
     * Request 类 instance静态方法 获取 需要 use 引入
     * 参数为空，默认获取全部
     *
     * param 不区分 GET | POST 等 http 类型
     * param()
     * 获取特定 http 类型的参数 *******************
     * get() 只获取 url 中 问号携带参数
     * post() 获取到 post body中携带的参数
     * route() 获取路径中的参数
     */
    /*public function hello()
    {
        $id = Request::instance()->param('id');
        $name = Request::instance()->param('name');
        $age = Request::instance()->param('age');
        echo $id; echo '|'; echo $name; echo '|'; echo $age;

        $all = Request::instance()->param();
        var_dump($all);

        $get = Request::instance()->get();
        var_dump($get);
    }*/

    /**
     * 依赖注入
     * 即将 Request::instance 换成 $request
     */
    /*public function hello(Request $request)
    {
        $all = $request->param();
        var_dump($all);
    }*/

    /**
     * 助手函数获取参数变量 - 简化代码写法
     * input() 默认全部参数
     * input('get.' | 'post.') 默认 get | post 方式全部参数数组
     */
    public function hello()
    {
        $all = input('get.name');
        var_dump($all);
    }
    /** end 获取路由参数 ***************************/
}
